DEBUG=-g
CC=gcc

# 添加 GLib 的编译选项
CFLAGS=-Wall -Wextra -std=c11 -pedantic $(shell pkg-config --cflags glib-2.0 gobject-2.0) $(DEBUG)

# 添加 GLib 的链接选项（必须包含 gobject-2.0）
LDFLAGS=$(shell pkg-config --libs glib-2.0 gobject-2.0)

# 所有源文件
SOURCES=main.c animal.c dog.c
OBJECTS=$(SOURCES:.c=.o)
BINARY=animal-demo

default: $(BINARY)

$(BINARY): $(OBJECTS)
	$(CC) $(OBJECTS) -o $@ $(LDFLAGS)

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJECTS) $(BINARY)